1. Technical Field
The present invention relates to a firmware rewriting method of rewriting firmware in a printer having multiple cores, and a printer.
2. Related Art
JP-A-2007-310783 is an example of technology related to rewriting printer firmware. JP-A-2007-310783 teaches technology enabling rewriting new firmware to flash memory storing existing firmware after copying new firmware to a hard disk, and then rebooting.
One way to increase printer functionality is to increase the number of processor cores. Functions such as communication and background processing can be added by increasing the number of cores. When a new core is added, firmware upgrades must be applied to each core.
FIG. 7 is a flow chart of a typical program for rewriting firmware in a printer with two cores. In this example, one (the first) of the two cores receives updated firmware to update the firmware of the first core and the second core, and stores the updated firmware to RAM, which is internal memory of the first core.
As shown in FIG. 7, when the first core receives the new firmware (S101), it stores the firmware to RAM (S102). Next, the boot data (boot program) of the first core is saved to RAM (S103), the firmware of the first core is rewritten by the boot data (S104), and the operation is checked with a checksum (S105). When successfully updating the firmware of the first core is confirmed, the printer resets (S106), and the first core reports completing the rewrite operation to the second core (S107). Next, the second core acquires the updated firmware for the second core from RAM in the first core (S108), and saves the boot data of the second core to RAM in the second core (S109). When the firmware of the second core is rewritten by the boot data (S110), the second core confirms the data was successfully rewritten by a checksum (S111). When successfully updating the firmware of the second core is confirmed, the second core reports completing the rewrite operation to the first core (S112), and then resets the printer again (S113).
As shown in FIG. 7, when firmware is updated for multiple cores in the related art, the reset process repeats for each core (S106, S113), and operation is time-consuming. If this updating process takes long, the likelihood of a problem happening, such as the user accidentally turning the printer off or communication being interrupted while data is being written, increases. The updating (rewriting) process is therefore preferably completed as quickly as possible.